1. Field of the Invention
This invention relates to a position control loop using a servomotor to control the movement of a transducer in mechanically scanning probes, and more specifically, to a method of using an analog quadrature output of an incremental optical encoder to precisely servo the motor at a given command position.
2. Description of Related Art
In a conventional position control loop, the motor position is compared with a requested position. The comparison or difference between the two positions is used to create a position error signal. The magnitude and polarity of this position error signal is then used to drive the motor towards the commanded input, thus, reducing the position error signal to zero. In this manner, the motor is directed to a specific position.
The motor position can be sensed in a number of different ways, yielding either an analog or a digital output signal representative of the motor position. Typically, a standard servomotor produces a single output signal from the shaft encoder. The output signal is generally in the shape of signal pulses or steps. When the operator commands the servomotor to move to a specific position, for example a position defined by 3000 counts, an up/down counter counts out 3000 pulses. The output of the up/down counter is compared to the count representing the present position of the motor and the counter causes the motor to move up or down depending on the present position of the motor. Theoretically, the motor stops when the counter reaches a count of 3000.
However, the momentum of the motor may cause the motor to move beyond the requested position, for example to a count of 3003. The present motor position is then compared with the requested position and the motor is directed to move in the appropriate direction.
For example, if the difference between the requested position and the present position of the motor is a positive difference, the motor is directed to move in the forward direction. On the other hand, if the difference between the two positions results in a negative difference, the motor will move backwards. As a result, the accuracy of the position of the motor is controlled by the resolution of the shaft encoder.
To improve the accuracy of the position of the motor, an incremental optical encoder with analog quadrature (sine and cosine) output signals is used to sense motor positions. By overdriving a comparator and limiting the output of the comparator, the analog output signals are converted to square waves. The quadrature square waves are then decoded into "quadrants" by any number of well-known prior art circuits to produce a digital counter representing absolute motor position. These quadrature signals are referenced to an index signal that is also converted to a square wave. The digital motor position is then compared to the digital input command signal to produce a digital position error signal.
It is advantageous to use an incremental optical encoder for this application, since no encoder calibration is required. Furthermore, the outputs of the encoder are compensated and result in repeatable motor position outputs, in addition to improving the resolution of the motor position. However, since the position signal is digital, the maximum resolution of the motor position obtainable is determined by the width of one "quadrant."
However, the maximum resolution of a single quadrant width gives rise to an inherent disadvantage of using an incremental optical encoder. When the motor stops and remains within the quadrant defining the requested position, external forces on the motor do not cause a position control loop to generate any position error signals. However, when the motor moves across a boundary as defined by combinations of rising edges and/or falling edges, that is, from one quadrant to the next higher or lower quadrant, an error signal is generated. This error signal forces the motor back into the proper quadrant.
As the motor is forced back into the proper quadrant, it may overshoot into the lower adjacent quadrant, that is, in the other direction. Again, an error signal of the proper polarity is generated, forcing the motor back into the proper quadrant where it again may overshoot. This repetitive overshooting in either direction causes "dithering" of the motor between adjacent boundaries of the desired quadrant. This dithering can be a contributing source of error in ultrasound measurements, particularly when the transducer of an ultrasound sensing probe is operating in Doppler mode or M-Mode.
Therefore, what is needed is a method of generating a motor position signal within the desired digital quadrant position itself. This method of generating a position signal will precisely locate the servomotor in the middle of the quadrant when the motor is requested to stop at a given quadrant position.